package string;

import com.sun.org.apache.bcel.internal.generic.INEG;
import sun.rmi.runtime.Log;

public class IntegerDemo {
    public static void main(String[] args) {
     //演示包装类的常用操作:
     //1）可以通过包装类来获取基本类型的最大值：
        int max = Integer.MAX_VALUE;//获取int的最大值
        int min = Integer.MIN_VALUE;//获取int的最小值
        System.out.println("int最大值:"+max+"int最小值:"+min);

        long max1 = Long.MAX_VALUE;//获取long的最大值
        long min1 = Long.MIN_VALUE;//获取long的最小值
        System.out.println("long的最大值:"+max1+"long的最小值:"+min1);

     //2)包装类可以将字符串转为对应的基本类型
        String s1 = "123";
        int age = Integer.parseInt(s1);//将字符串s1解析为int类型
        System.out.println(age);//123---int类型
        String s2 = "123.33";
        double price = Double.parseDouble(s2);//将字符串s2解析为double类型
        System.out.println(price);//123.33----double类型





      //演示基本类型和包装类型之间互转：
        /*
        Integer i = Integer.valueOf(5);//基本类型转包装类型
        int j = i.intValue();//包装类型转基本类型


        //触发了自动装箱特性,会被编译为:Integer i = new Integer(5);
        Integer i = 5;//基本类型到包装类---装箱
        //触发了自动拆箱特性:会被编译为:int j = i.intvalue();
        int j = i;//包装类到基本类型
        */

        //演示包装类的定义:
       /*
        Integer i1 = new Integer(5);
        Integer i2 = new Integer(5);
        System.out.println(i1==i2);
        System.out.println(i1.equals(i2));

        Integer i3 = Integer.valueOf(5); //-128-127之间会复用常量池中的对象
        Integer i4 = Integer.valueOf(5);
        System.out.println(i3==i4);
        System.out.println(i3.equals(i4));
        */
    }
}
